﻿using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Runtime.Serialization;
using System.Collections;
using System.Data;
using System.ComponentModel;
using System.Data.OracleClient;
using WPFExcelReport.Helpers;
using WPFExcelReport.Controls;
namespace WPFExcelReport
{
    public partial class VBAZU
    {
        public void SetUpNewRow(ref DataRow dwReturn)
        {

            switch (app.company)
            {
                case "YGR":
                case "SXN":
                case "TST":
                    break;
                case "JLT":
                default:
                    #region
                    dwReturn["BZMANDANT"] = "00";
                    dwReturn["BZAUFTYP"] = "V";
                    dwReturn["BZAUFKRS"] = "ZZ";
                    dwReturn["BZAUFLFD"] = "000778";
                    dwReturn["BZAUFPOS"] = "003";
                    dwReturn["BZPOS"] = "0001";
                    dwReturn["BZBAUMKRS"] = "SZ";
                    dwReturn["BZBAUMLFD"] = "001911";
                    dwReturn["BZAENDZL"] = "1";
                    dwReturn["BZAENDBEN"] = "        ";
                    dwReturn["BZAENDDAT"] = "0";
                    dwReturn["BZNEUBEN"] = "INTEXE  ";
                    dwReturn["BZNEUDAT"] = "20151025";
                    dwReturn["BZKART"] = "J5-0002             ";
                    dwReturn["BZKVAR"] = "1 ";
                    dwReturn["BZKFARBE"] = "1         ";
                    dwReturn["BZDATRP"] = "0";
                    dwReturn["BZDATRPM"] = "20151025";
                    dwReturn["BZDATBIS"] = "79848970";
                    dwReturn["BZDATANG"] = "20151025";
                    dwReturn["BZDATABG"] = "0";
                    dwReturn["BZSOLLVLG"] = "1000";
                    dwReturn["BZISTVLG"] = "0";
                    dwReturn["BZISTSTK"] = "0";
                    dwReturn["BZWBRWKRS"] = "  ";
                    dwReturn["BZWBRWLFD"] = "018020";
                    dwReturn["BZWBBPOSV"] = "0001";
                    dwReturn["BZWBBMTRV"] = "0";
                    dwReturn["BZWBBPOSB"] = "9999";
                    dwReturn["BZWBBMTRB"] = "0";
                    dwReturn["BZKUNDNR"] = "00000000";
                    dwReturn["BZWERK"] = "   ";
                    dwReturn["BZABT"] = "   ";
                    dwReturn["BZWAART"] = "J5-0002             ";
                    dwReturn["BZWAVAR"] = "  ";
                    dwReturn["BZWAWCOL"] = "1         ";
                    dwReturn["BZDOMKZ"] = "D";
                    dwReturn["BZMNRKRS"] = "M ";
                    dwReturn["BZMLFDNR"] = "0202";
                    dwReturn["BZMPOS"] = "00";
                    dwReturn["BZERLKZ"] = " ";
                    dwReturn["BZFILLER"] = "0000                                ";

                    #endregion
                    break;
            }
        }
        public void InsertBAZU(DataRow dwData, string ITXDBVERSION = "50.24")
        {

            or1 = OracleDB.CreateCommand();
            switch (ITXDBVERSION)
            {
                default:
                case "JLT":
                    or1.CommandText = "INSERT INTO BAZU ( BZMANDANT,BZAUFTYP,BZAUFKRS,BZAUFLFD,BZAUFPOS,BZPOS,BZBAUMKRS,BZBAUMLFD,BZAENDZL,BZAENDBEN,BZAENDDAT,BZNEUBEN,BZNEUDAT,BZKART,BZKVAR,BZKFARBE,BZDATRP,BZDATRPM,BZDATBIS,BZDATANG,BZDATABG,BZSOLLVLG,BZISTVLG,BZISTSTK,BZWBRWKRS,BZWBRWLFD,BZWBBPOSV,BZWBBMTRV,BZWBBPOSB,BZWBBMTRB,BZKUNDNR,BZWERK,BZABT,BZWAART,BZWAVAR,BZWAWCOL,BZDOMKZ,BZMNRKRS,BZMLFDNR,BZMPOS,BZERLKZ,BZFILLER)"
                    + " VALUES (:BZMANDANT:,:BZAUFTYP:,:BZAUFKRS:,:BZAUFLFD:,:BZAUFPOS:,:BZPOS:,:BZBAUMKRS:,:BZBAUMLFD:,:BZAENDZL:,:BZAENDBEN:,:BZAENDDAT:,:BZNEUBEN:,:BZNEUDAT:,:BZKART:,:BZKVAR:,:BZKFARBE:,:BZDATRP:,:BZDATRPM:,:BZDATBIS:,:BZDATANG:,:BZDATABG:,:BZSOLLVLG:,:BZISTVLG:,:BZISTSTK:,:BZWBRWKRS:,:BZWBRWLFD:,:BZWBBPOSV:,:BZWBBMTRV:,:BZWBBPOSB:,:BZWBBMTRB:,:BZKUNDNR:,:BZWERK:,:BZABT:,:BZWAART:,:BZWAVAR:,:BZWAWCOL:,:BZDOMKZ:,:BZMNRKRS:,:BZMLFDNR:,:BZMPOS:,:BZERLKZ:,:BZFILLER:)";
                    or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
                    break;
            }
            Connect2Proxy(or1);
        }
        public DataSet QBAZU01(DataRow dwData)
        {

            or1 = OracleDB.CreateCommand();
            or1.CommandText = "SELECT P.* FROM BAZU P "
                        + " WHERE  BZMANDANT=:BZMANDANT: AND BZAUFTYP=:BZAUFTYP: AND BZAUFKRS =:BZAUFKRS: AND BZAUFLFD=:BZAUFLFD: AND BZAUFPOS=:BZAUFPOS: AND BZPOS=:BZPOS:";
            or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
            SResult = Connect2Proxy(or1);
            SResult.Tables[0].TableName = TableName;
            return SResult;
        }
        public void DBAZU01(DataRow dwData)
        {

            or1 = OracleDB.CreateCommand();
            or1.CommandText = "DELETE FROM BAZU   "
                        + " WHERE  BZMANDANT=:BZMANDANT: AND BZAUFTYP=:BZAUFTYP: AND BZAUFKRS =:BZAUFKRS: AND BZAUFLFD=:BZAUFLFD: AND BZAUFPOS=:BZAUFPOS: AND BZPOS=:BZPOS:";
            or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
            Connect2Proxy(or1);
        }

        public void UpdateBAZU(DataRow dwData, string ITXDBVERSION = "50.24", int option = 1)
        {
            if (option == 0)
            {
                switch (app.company)
                {
                    case "JLT":
                    default:
                        UBAZU01(dwData);
                        break;
                }
            } 
        }
        public void UBAZU01(DataRow dwData)
        {
            or1 = OracleDB.CreateCommand();
            or1.CommandText = "UPDATE BAZU SET BZMANDANT=:BZMANDANT:,BZAUFTYP=:BZAUFTYP:,BZAUFKRS=:BZAUFKRS:,BZAUFLFD=:BZAUFLFD:,BZAUFPOS=:BZAUFPOS:,BZPOS=:BZPOS:,BZBAUMKRS=:BZBAUMKRS:,BZBAUMLFD=:BZBAUMLFD:,BZAENDZL=:BZAENDZL:,BZAENDBEN=:BZAENDBEN:,BZAENDDAT=:BZAENDDAT:,BZNEUBEN=:BZNEUBEN:,BZNEUDAT=:BZNEUDAT:,BZKART=:BZKART:,BZKVAR=:BZKVAR:,BZKFARBE=:BZKFARBE:,BZDATRP=:BZDATRP:,BZDATRPM=:BZDATRPM:,BZDATBIS=:BZDATBIS:,BZDATANG=:BZDATANG:,BZDATABG=:BZDATABG:,BZSOLLVLG=:BZSOLLVLG:,BZISTVLG=:BZISTVLG:,BZISTSTK=:BZISTSTK:,BZWBRWKRS=:BZWBRWKRS:,BZWBRWLFD=:BZWBRWLFD:,BZWBBPOSV=:BZWBBPOSV:,BZWBBMTRV=:BZWBBMTRV:,BZWBBPOSB=:BZWBBPOSB:,BZWBBMTRB=:BZWBBMTRB:,BZKUNDNR=:BZKUNDNR:,BZWERK=:BZWERK:,BZABT=:BZABT:,BZWAART=:BZWAART:,BZWAVAR=:BZWAVAR:,BZWAWCOL=:BZWAWCOL:,BZDOMKZ=:BZDOMKZ:,BZMNRKRS=:BZMNRKRS:,BZMLFDNR=:BZMLFDNR:,BZMPOS=:BZMPOS:,BZERLKZ=:BZERLKZ:,BZFILLER=:BZFILLER:"
                                    + " WHERE  BZMANDANT=:BZMANDANT: AND BZAUFTYP=:BZAUFTYP: AND BZAUFKRS =:BZAUFKRS: AND BZAUFLFD=:BZAUFLFD: AND BZAUFPOS=:BZAUFPOS: AND BZPOS=:BZPOS:";

            or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
            Connect2Proxy(or1);
        }
        public void UBAZU02(DataRow dwData)
        {
            or1 = OracleDB.CreateCommand();
            or1.CommandText = "UPDATE BAZU SET BZDATABG=:BZDATABG:"
                        + " WHERE  BZMANDANT=:BZMANDANT: AND BZAUFTYP=:BZAUFTYP: AND BZAUFKRS =:BZAUFKRS: AND BZAUFLFD=:BZAUFLFD: AND BZAUFPOS=:BZAUFPOS: AND BZPOS=:BZPOS:";
            or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
            Connect2Proxy(or1);
        }
    }
}
